package com.qst.order.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qst.order.domain.ReplenishRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 补货记录 Mapper 接口（操作 t_replenish_record 表）
 */
@Mapper
public interface ReplenishRecordMapper extends BaseMapper<ReplenishRecord> {

    /**
     * 分页查询商家的补货记录（支持按时间、商品筛选）
     * @param page 分页参数
     * @param merchantId 商家ID
     * @param productId 商品ID（可选，为空时查所有商品）
     * @param startTime 开始时间（可选）
     * @param endTime 结束时间（可选）
     * @return 分页后的补货记录列表
     */
    IPage<ReplenishRecord> selectMerchantReplenishPage(
            Page<ReplenishRecord> page,
            @Param("merchantId") Integer merchantId,
            @Param("productId") Integer productId,
            @Param("startTime") String startTime,
            @Param("endTime") String endTime
    );
    /**
     * 按批量补货批次号查询所有关联记录
     * @param batchId 批量批次号
     * @return 同一批次的所有补货记录
     */
    List<ReplenishRecord> selectByBatchId(@Param("batchId") String batchId);

    //void batchCreateRecord(Integer merchantId, List<Integer> productIds, Integer quantity, String reason, String method, String remark, Integer operateUserId, String operateUserName);
}